package ControlLayer;

import ModelLayer.*;

import java.util.ArrayList;

public class OrdreController {

    private VareController vareController;
    private OrdreCollectionModel ordreCollectionModel;

    public OrdreController(){
        ordreCollectionModel = ordreCollectionModel.getInstance();
        vareController = new VareController();
    }

    /**
     * Opretter en ordre
     * @param id Ordrens ID
     * @param dato Dato for oprettelse
     * @param status Ordrens status
     */
    public void opretOrdre(int id, String dato, String status){
        OrdreModel o = new OrdreModel(id, dato, status);
        ordreCollectionModel.tilføjOrdre(o);
    }

    /**
     * Finder varen og tilføjer den til delordren
     * @param id Varens ID
     * @param antal Antal af varen
     */
    public void tilføjVare(int id, int antal){
        //Undersøger om antallet af varen er større end 0
        if (antal < 1){
            //throw new IllegalArgumentException("Vare antal kan ikke være under 1");
        }
        //Finder varen
        VareModel v = vareController.findVare(id);
        if (v == null){
            //throw new NullPointerException("Vare ikke fundet");
        }
        //Opretter delordren med antal varer
        DelOrdreModel dom = new DelOrdreModel(v, antal);
        ordreCollectionModel.tilføjDelOrdre(dom);
    }

    /**
     * Henter delordrene
     * @return Returnerer alle delordrene
     */
    public ArrayList<DelOrdreModel> getDelOrder(){
        return ordreCollectionModel.getDelOrdreModel();
    }

    public void printDelOrdreInfo(){
        ordreCollectionModel.printDelOrdre();
    }

    public double getTotalPris(){
        return ordreCollectionModel.samletPris();
    }
}
